@MastersThesis{Fischer:1983:PrLiLA,
author = "Fischer, S{\'e}rgio Donizetti",
title = "Projeto da linguagem LANAC-II e a sua implementa{\c{c}}{\~a}o
para o SISCO MB-8000",
school = "Instituto Nacional de Pesquisas Espaciais (INPE)",
year = "1983",
address = "S{\~a}o Jos{\'e} dos Campos",
month = "1983-12-21",
keywords = "LANAC, programa{\c{c}}{\~a}o concorrente, linguagem de
programa{\c{c}}{\~a}o, sistema operacional, Cerne, Kernel.",
abstract = "Apresentam-se neste trabalho a especifica{\c{c}}{\~a}o e a
implementa{\c{c}}{\~a}o da linguagem LANAC-II uma segunda
vers{\~a}o da linguagem LANAC. LANAC-II corno a primeira versa
desenvolvida no INPE/CNPq e orientada para programa{\c{c}}{\~a}o
concorrente. {\'E} indicada primordialmente para sistemas
dedicados em ambiente de monoprocessamento para aqueles com
caracter{\'{\i}}sticas de tempo real e de controle de processos.
A linguagem objetiva o desenvolvimento de programas mais
confi{\'a}veis, que tenham facilitadas a sua leitura e a sua
manuten{\c{c}}{\~a}o LANAC-II baseia-se no Algol 60, {\'e}
n{\~a}o-recursiva e disp{\~o}e: de um comando para expressar
concorr{\^e}ncia de sem{\'a}foros para a comunica{\c{c}}{\~a}o
e sincroniza{\c{c}}{\~a}o de processos e de um mecanismo
especial para criar regi{\~o}es cr{\'{\i}}ticas. Para sua
implementa{\c{c}}{\~a}o foi necess{\'a}rio desenvolver um
compilador cruzado, escrito em {"}Burroughs Extended Algol{"} do
computador B-6800, que gera c{\'o}digo assembly absoluto para um
minicomputador SISCO MB-8000 a partir de uma forma interne
di{\'a}ria do tipo qu{\'a}drupla. A linguagem necessita
tamb{\'e}m de um suporte de execu{\c{c}}{\~a}o chamado Cerne,
cujos requisitos b{\'a}sicos juntamente com a proposta inicial
dos algoritmos de suas primitivas, s{\~a}o descritos neste
trabalho. Atualmente o compilador LANAC-II encontra-se totalmente
implementado, a menos da gera{\c{c}}{\~a}o de c{\'o}digo para
opera{\c{c}}{\~o}es em ponto flutuante. Apesar de se terem
realizado, com bons resultados, alguns testes com estruturas da
linguagem para programa{\c{c}}{\~a}o seq{\"u}encial, o seu
desempenho s{\'o} poder{\'a} ser avaliado mais concretamente
quando o Cerne estiver implementado e operacional. ABSTRACT: The
specification and implementation of LANAC-II, the second version
of the Algol-like programming language LANAC, are presented in
this report. Both of the versions are intended for concurrent
programming and were developed at INPE/CNPq. LANAC-II is designed
primarilly for dedicated computer systems, involving only one
processor, especially those with real time and process control
characteristics. The language aims at making possible to write
more reliable programs, which are also more readable and
maintainable. LANAC-II is a no recursive language and, besides the
Algol 60 structure, also has a statement to express concurrency,
semaphores for process communication and synchronization, and a
special construct to create critical regions. In order to
implement it in a SISCO MB-8000 minicomputer, a cross-compiler was
written in Burroughs Extended Algol (B-6800 computer) to generate
absolute assembly code, using quadruples as intermediate code. The
language also needs a kernel -{"}Cerne{"}- to support it. This
report defines the basic requirements of this kernel and the first
specification of its primitives. At present the LANAC-II compiler
is completely implemented, except for the code generation for
floating-point operations. Although the language sequential
constructs have been tested and good results obtained, all of
LANAC-IIs power could not yet be tested. This will only be
possible when the {"}Cerne{"} is coded and operational.",
committee = "Martins, Ricardo Corr{\^e}a de Oliveira (presidente) and Souza,
Celso de Renna e (orientador) and Mendes, Manuel de Jesus and
Velasco, Fl{\'a}vio Roberto Dias and Senne, Edson Luiz
Fran{\c{c}}a",
copyholder = "SID/SCD",
englishtitle = "x",
language = "pt",
pages = "170",
ibi = "8JMKD3MGP8W/352RG98",
url = "http://urlib.net/ibi/8JMKD3MGP8W/352RG98",
targetfile = "publicacao.pdf",
urlaccessdate = "01 maio 2024"
}